<html>

<head>
<title>libao - function - ao_initialize</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>

<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
<table border=0 width=100%>
<tr>
<td><p class=tiny>libao documentation</p></td>
<td align=right><p class=tiny>libao version 1.2.2 - 20161114</p></td>
</tr>
</table>

<h1>ao_initialize</h1>

<p><i>declared in "ao/ao.h";</i></p>

<p>This function initializes the internal libao data structures and
loads all of the available plugins.  The system and user <a
href="config.html">configuration files</a> are also read at this time
if available.  ao_initialize() must be called in the main thread and
before any other libao functions can be used.

<p><i>More background on initialization in the main thread:
ao_initialize() must be called in the main thread because several
sound system interfaces used by libao must be initialized in the main
thread.  One example is the system aRts interface, which stores some
global state in thread-specific keys that it fails to delete on
shutdown. If aRts is initialized in a non-main thread that later
exits, these undeleted keys will cause a segmentation fault.</i>

<br><br>
<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
	<td>
<pre><b>
void ao_initialize();
</b></pre>
	</td>
</tr>
</table>

<h3>Notes</h3>

<p>Do not invoke this function more than once before calling <a
href="ao_shutdown.html">ao_shutdown()</a>.  If you want to reload the
configuration files without restarting your program, first call
ao_shutdown(), then call ao_initialize() again.

<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright &copy; 2001-2003 Stan Seibert, 2010-2016 Monty</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/">xiph.org</a><br><a href="mailto:monty@xiph.org">monty@xiph.org</a></p></td>
</tr><tr>
<td><p class=tiny>libao documentation</p></td>
<td align=right><p class=tiny>libao version 1.2.2 - 20161114</p></td>
</tr>
</table>

</body>

</html>
